<!--
  功能：功能描述
  作者：kangjie
  邮箱：kangjie@briup.com
  时间：2021年07月14日 10:42:38
  版本：v1.0
  修改记录：
  修改内容：
  修改人员：
  修改时间：
-->
<template>
<div class="">
    <!-- 表格开始 -->
    <el-table :data="tableData" style="width: 100%">
        <el-table-column type="index" :index="1"  label="序号" width="160"> </el-table-column>
        <el-table-column prop="realname" label="访问人真实姓名" width="280"> </el-table-column>
        <el-table-column prop="method" label="访问方式" width="220"> </el-table-column>
        <el-table-column prop="content" label="访问路径" width="300"> </el-table-column>
        <el-table-column prop="logTime" label="访问时间"> 
            <template slot-scope="scope">
                    {{moment(scope.row.transferTime).format('YYYY-MM-DD hh:mm:ss')}}
            </template>
        </el-table-column>
    </el-table>
    <!-- 表格结束 -->
    <!-- 分页开始 -->
    <div>
        <el-pagination
            background
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="params.page"
            :page-sizes="[10, 20, 30, 40]"
            :page-size="params.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="total">
        </el-pagination>
    </div>
    <!-- 分页结束 -->
    </div>
</template>

<script>
let moment = require("moment");
import {logPageQuery} from '@/api/log'
export default {
    data() {
        return {
        moment,
        tableData:[],
        params: {
            page: 1,
            pageSize: 10,
        },
        total:0,
        };
    },
    created() {
        this.Lquery();
    },
  // 计算属性
    computed: {},
  // 侦听器
    watch: {
        params:{
            handler(){
                this.Lquery();
            },
            deep:true
        } 
    },
  // 组件方法
methods: {
    //分页查询
    async Lquery(){
        let temp={
            ...this.params
        }
        let res = await logPageQuery(temp);
        console.log(res);
        this.tableData=res.data.list;
        this.total=res.data.total;
    },
        //处理每页显示的条数
        handleSizeChange(pageSize) {
            this.params.pageSize=pageSize;
            this.params.page=1;
        },
        //处理当前页
        handleCurrentChange(page) {
            this.params.page=page;
        },
},
  // 以下是生命周期钩子
    /**
   * 组件实例创建完成，属性已绑定，但DOM还未生成，$ el属性还不存在
   */
    
    /**
   * el 被新创建的 vm.$ el 替换，并挂载到实例上去之后调用该钩子。
   * 如果 root 实例挂载了一个文档内元素，当 mounted 被调用时 vm.$ el 也在文档内。
   */
    mounted() {},
    /**
   * 实例销毁之前调用。在这一步，实例仍然完全可用。
   */
    beforeDestroy() {},
    /**
   * Vue 实例销毁后调用。调用后，Vue 实例指示的所有东西都会解绑定，
   * 所有的事件监听器会被移除，所有的子实例也会被销毁。
   */
    destroyed() {},
};
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<!--使用了scoped属性之后，父组件的style样式将不会渗透到子组件中，-->
<!--然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响，-->
<!--这么设计的目的是父组件可以对子组件根元素进行布局。-->
<style scoped>
</style>
